package api

import (
	"fmt"
	"os"
	"text/template"
)

type Api struct {
}

func NewApi() *Api {
	return &Api{}
}

func (l *Api) MakeFile(name string) {
	// 读取模板文件
	templateFilePath:="internal/app/gen/resouce/template/api.tmpl"
	tmpl, err := template.ParseFiles(templateFilePath)
	if err != nil {
		fmt.Printf("读取文件%s失败：%s",templateFilePath, err)
		return
	}

	// 准备要填充的数据
	data := struct {
		Name string
	}{
		Name: name,
	}

	// 创建生成的文件
	file, err := os.Create(fmt.Sprintf("%s_generated.go", name))
	if err != nil {
		fmt.Println("Error creating file:", err)
		return
	}
	defer file.Close()

	// 将模板应用到数据上，并输出到文件
	if err := tmpl.Execute(file, data); err != nil {
		fmt.Println("Error executing template:", err)
		return
	}

	fmt.Printf("Generated %s_generated.go\n", name)

	fmt.Printf("生成api-- %s 成功", name)
}
